﻿using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
//1.前言引入
//同步  方法1调方法2 必须等方法2 执行完毕 才能继续执行 方法1 
//异步  方法1和方法2 在代码里同时 或者来回执行 方法1调方法2 就接着执行代码

//异步不等于多线程
//举个例子 协程 
//c#中的Task 类  
public class Zero : MonoBehaviour
{

    async void Start()
    {
        Debug.Log("Start :" + Time.time);
        // StartCoroutine(CoroutineTest());
        await DealyTest();
    }

    IEnumerator CoroutineTest()
    {
        Debug.Log("Coroutine Start:" + Time.time);
        yield return new WaitForSeconds(1);
        Debug.Log("Coroutine End:" + Time.time);

    }

    void Update()
    {
        // Debug.Log("Update执行了" + Time.time);
    }

    async Task<int> DealyTest()
    {
        Debug.Log("Task Start:" + Time.time);
        await Task.Delay(1000); // 为什么 Time.time 显示 0.5xx
        Debug.Log("Task End:" + Time.time);
        return 1;
    }
}
